FIG. 1 illustrates a distributed computing system 100. The system 100 includes a set of client devices 102_1 through 102_N. Each client device 102 may be a computer, tablet, smart phone, wearable device and the like. A load balancer 104 may be used to manage access by the client devices 102 to a set of application servers 106_1 through 106_X. The application servers 106 access a set of cache servers 108_1 through 108_Y. The cache servers 108 access data store resources 110_1 through 110_Z. The data store resources 110 may be mainframe computers, web service servers, database servers and the like. The data store resources 110 persistently store data utilized by the application servers 106, while the cache servers 108 dynamically store content likely to be accessed by the application servers 106. Consequently, the content stored by the cache servers is constantly changing. Cache eviction refers to the operation of removing content from a cache in order to cache new content. Many cache eviction schemes rely upon data manipulation so that the data is ordered in the manner that it should be evicted. This may result in data being moved from one location to another, which can degrade system performance.
In view of the foregoing, it would be desirable to provide improved cache eviction techniques.